package com.train.springboot.springboottrain.config;

import com.train.springboot.springboottrain.interceptor.UserInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


@Configuration  //只要类上加@Configuration，就说明此类为一个配置类，就相当于一个xml配置文件
public class SystemConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {

        //定义要拦截的路径
        //要拦截user下的所有访问请求，必须用户登陆后才可以访问
        //但是这样拦截的路径中有一些是不需要用户登陆也可以访问的
        String[] addPathPatterns = {
      //     /* 是下面一层目录   /** 是后面全部路径
                "/user/**"
        };

        //排除不需要拦截的路径，不登录也能访问的
        String[] excludePathPatterns = {
                "/user/page/login",
                "/user/login"
        };

        registry.addInterceptor(new UserInterceptor())
                .addPathPatterns(addPathPatterns)
                .excludePathPatterns(excludePathPatterns);
    }
}
